/**
 * 处理数字相关
 *
 * @author 俞杰
 * @email 158392613@qq.com
 */

/**
 * 数字补零函数
 *
 * @param number 需要补零的数字
 * @param length 最终生成的位数
 * @returns
 */
export const addZero = (number: string | number, length: number) => {
  const num = number + ''
  const lengthZero = new Array(length + 1).join('0')

  return (lengthZero + num).substr(num.length)
}

/**
 * 得到一个大于等于0，小于1之间的随机数
 */
export function getRandom() {
  return Math.random()
}

/**
 * 得到一个两数之间的随机数
 *
 * @param min 最小值
 * @param max 最大值
 */
export function getRandomArbitrary(min: number, max: number) {
  return Math.random() * (max - min) + min
}

/**
 * 得到一个两数之间的随机整数
 *
 * @param min 最小值
 * @param max 最大值
 * @returns
 */
export function getRandomInt(min: number, max: number) {
  min = Math.ceil(min)
  max = Math.floor(max)
  return Math.floor(Math.random() * (max - min)) + min //不含最大值，含最小值
}

/**
 * 得到一个两数之间的随机整数，包括两个数在内
 */
export function getRandomIntInclusive(min: number, max: number) {
  min = Math.ceil(min)
  max = Math.floor(max)
  return Math.floor(Math.random() * (max - min + 1)) + min //含最大值，含最小值
}
